package com.demo;

/*
    数据输入的深度讲解
        说明：
            1. next(),nextInt(),nextDouble()等具有阻塞效果，但是按回车键(\n)就结束阻塞
            2. next() 遇到空格是也会结束阻塞，空格后的输入会自动给到后面的nextXx()接收，
               就可能会出现：java.util.InputMismatchException错误
            3. nextLine() 只有遇到回车(\n)才结束，但当使用nextLine()之前有其他的nextXx()时，
               需要额外加一个input.nextLine() 专门接收前面输入的回车(\n换行符)
            4. 所有的数据类型输入中，没有nextChar()这种

        总结：
            1. 输入的字符串里不含空格，使用next()
            2. 输入的字符串含空格，使用nextLine(),
               前有输入需要带上input.nextLine()
            3. 注意 next(),nextLine()不要混用

 */


import java.util.Scanner;
//练习：输入小明的姓名，年龄，成绩然后打印结果
public class Demo1 {
    public static void main(String[] args) {
        //1.使用 new 关键字创建数据输入对象：input
        Scanner input = new Scanner(System.in);
        //2.输入姓名并接收
        //2.1 提示用户输入姓名
        System.out.println("请输入姓名：");
        //2.2 接收用户输入的姓名
        String name = input.next();
        //3.输入年龄并接收
        //3.1 提示用户输入年龄
        System.out.println("请输入年龄：");
        //3.2 接收用户输入的年龄
        int age = input.nextInt();
        //4.输入成绩并接收
        //4.1 提示用户输入成绩
        System.out.println("请输入成绩：");
        //4.2 接收用户输入的成绩
        double score = input.nextDouble();
        //拼接输出
        System.out.println("姓名为："+name+"年龄为："+age+"成绩为："+score);

        //5.输入专业并接收
        //5.1 提示用户输入专业班级
        System.out.println("请输入专业班级：");
        //5.2 接收回车（\n标识符）
        input.nextLine();
        //5.3 接收用户输入的专业班级
        String course = input.nextLine();
        //5.4 输出用户专业班级
        System.out.println("专业班级为："+course);

    }
}
